home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / ASTRNOMY / AA_51.ZIP / MANOMS.C < prev    next >
C/C++ Source or Header  |  1993-02-13  |  2KB  |  104 lines

  1. /* Most of these variables are used only in calculations
  2.  * for the outer planets:
  3.  */
  4. double sinV;
  5. double cosV;
  6. double sin2V;
  7. double cos2V;
  8. double sinW;
  9. double sinze;
  10. double sin2ze;
  11. double sin3ze;
  12. double sin4ze;
  13. double cosze;
  14. double cos2ze;
  15. double cos3ze;
  16. double cos4ze;
  17. double sinQ;
  18. double sin2Q;
  19. double sin3Q;
  20. double cosQ;
  21. double cos2Q;
  22. double cos3Q;
  23. double sin5ze;
  24. double cos5ze;
  25. double sin1H;
  26. double sin2H;
  27. double cos1H;
  28. double cos2H;
  29. double sinth;
  30. double sin2th;
  31. double costh;
  32. double cos2th;
  33. double M1;
  34. double M2;
  35. double M4;
  36. double M5;
  37. double M6;
  38. double M7;
  39. double M8;
  40. double nu;
  41. double P;
  42. double Q;
  43. double S;
  44. double V;
  45. double W;
  46. double ze;
  47. double psi;
  48. double H;
  49. double G;
  50. double eta;
  51. double th;
  52. double f;
  53.  
  54. /* mean anomaly of the earth
  55.  */
  56. double M;
  57. extern double M;
  58.  
  59. /* reusable time variable,
  60.  * centuries since 1900.0
  61.  */
  62. double T;
  63. extern double T;
  64.  
  65.  
  66. #include "planet.h"
  67. #include "kep.h"
  68.  
  69.  
  70. /* This subroutine calculates mean anomalies of the planets.
  71.  * The mean anomalies of earth, uranus and neptune are in
  72.  * oearth.c, ouranus.c, and oneptune.c.
  73.  */
  74. int manoms(J)
  75. double J;
  76. {
  77.  
  78. T = (J - 2415020.0)/36525.0;
  79.  
  80. #if BandS
  81. /* mean anomaly of the earth (and sun) */
  82. f = (( -0.0000033*T - 0.000150)*T + 35999.04975)*T + 358.47583;
  83. M = mod360(f);
  84. #endif
  85.  
  86. /* mean anomaly of Mercury */
  87. M1 = (0.000007*T + 149472.51529)*T + 102.27938;
  88. M1 = mod360(M1);
  89. /* Venus */
  90. M2 = (0.001286*T + 58517.80387)*T + 212.60322;
  91. M2 = mod360(M2);
  92. /* Mars */
  93. M4 = (0.000181*T + 19139.85475)*T + 319.51913;
  94. M4 = mod360(M4);
  95. /* Jupiter */
  96. M5 = (-0.000722*T + 3034.69202)*T + 225.32833;
  97. M5 = mod360(M5);
  98. /* Saturn */
  99. M6 = (-0.000502*T + 1221.55147)*T + 175.46622;
  100. M6 = mod360(M6);
  101. return(0);
  102. }
  103.  
  104.